Universal Messaging enables subscribers to realize the benefits of unified messaging, which consolidates the notification, presentation and management of voice, fax and e-mail messages. With Universal Messaging, a subscriber need only check a single notification device for new messages. Such notification may be provided, e.g., by an e-mail message, message waiting indicator light, stutter dial tone, pager and/or an automatic outdial phone call.
Universal Messaging may also include consolidated message presentation. For example, instead of using a telephone handset to pick up voice messages, a fax machine to pick up fax messages, and a PC to pick up e-mail messages, a subscriber could process all his or her messages with a telephone handset or a multimedia PC, or the like.
A first aspect of the invention disclosed herein relates to the "session-based" character of many messaging systems, including systems providing combined e-mail and voice/fax mail services. In a session-based system, the user enters his or her password and is logged into a "session," i.e., an active communications connection between computers or applications over a network. A session is basically a data conversation between two devices, such as a dumb terminal and a mainframe. If the session is terminated for any reason, the user must log back in. In contrast, the Internet (e.g., World Wide Web, or simply Web) may be considered sessionless, since it is based on a request-response paradigm that uses the HTTP protocol. No actual session is created when a Web browser accesses a "page" of the Web. What occurs is that the browser issues an HTTP request to a Web server hosting that page, and the Web server transfers the HTML code for the page to the browser; but no session is maintained. Any subsequent access of that Web page or to links within that page are performed using another HTTP request/response sequence.
To make a Universal Messaging system compatible with a "sessionless" Web browser interface, it would be advantageous to provide a way to initiate and maintain a session with respect to the voice/fax messaging components of the system. Since a voice messaging system typically handles interactions with callers or subscribers via a telephone, a very session-based connection, there would be a benefit in making interactions with PC-based clients, including those utilizing a sessionless Web connection, appear to the voice/fax messaging component as if coming from a session-based interface, such as a telephone handset. Consider, for example, the case of a very large messaging system having thousand or hundreds of thousands of subscribers. If such a system were to provide access to PC or Web-based clients, a great strain would be placed on the system if such clients were required to "log on" (i.e., enter a user name and password) each and every time an HTTP request were sent to the messaging system. One aspect of the present invention addresses this problem.
A second aspect of the present invention concerns the need to provide support for new message types specifically targeted for the delivery of multimedia content. Such message types will preferably be ignored by normal e-mail clients but will be visible to clients specifically adapted to recognize them. The present invention provides a solution to this challenge by providing a novel approach to controlling access to different types of content in a messaging system. This aspect of the invention permits the use of existing Universal Messaging platform capabilities to address, store, transport, and deliver multimedia content packaged as attachments to uniquely identified e-mail messages.
A third aspect of the present invention concerns the use of TCP/IP (Transmission Control Protocol/Internet Protocol) for the transmission of messages in a Universal Messaging system. TCP/IP is a well known networking protocol that provides communications across interconnected networks and between computers with diverse hardware architectures and operating systems. TCP is a connection-oriented protocol. It first establishes a connection between the two systems that intend to exchange data. When an application sends a message to TCP for transmission, TCP breaks the message into packets and sends them over the network. Because a single message is often broken into many packets, TCP marks these packets with sequence numbers before sending them. The sequence numbers allow the receiving system to properly reassemble the packets into the original message. The IP subset of TCP/IP is the messenger protocol that addresses and sends packets. TCP/IP divides networking functionality into the following four layers: (1) a Network Interface Layer that corresponds to the OSI Physical and Data Link Layers;(2) an Internet Layer that corresponds to the OSI network layer; (3) a Transport Layer, which corresponds to the OSI Transport Layer; and (4) an Application Layer corresponding to the session, presentation and application layers of the OSI model. The Application Layer manages the functions required by user programs, including protocols for remote log-in (Telnet), file transfer (FTP) and electronic mail (SMTP).
The third aspect of the present invention addresses the need for improved speed in transferring large data objects in a Universal Messaging system. Particularly, the problem is that data passing through the CMC interface, session management, and TCP/IP stacks of a Universal Messaging system necessarily cross a number of software process boundaries with substantial overhead. For example, having to cross at least two TCP/IP stacks (such as, e.g., in the system described below, in communicating messages from messaging platform 10 to server complex (Web platform) 12 and from server complex 12 to PC Client 20) adds significant overhead alone. While this may not be a problem for smaller files, such as e-mail messages and control information, it can be a significant problem for larger data objects, such as audio, graphics (fax images), and video. The overhead and protocols that the data must traverse can be too great to deliver such large data objects to the subscriber efficiently. The present invention addresses this problem as well.
Further background information concerning the construction and operation of messaging systems, and particularly one employing a Network Applications Platform (NAP) for interfacing a telephone network and network applications running on an enterprise server, may be found in: U.S. Pat. No. 5,133,004, Jul. 21, 1992, "Digital Computer Platform for Supporting Telephone Network Applications"; U.S. Pat. No. 5,138,710, Aug. 11, 1992, "Apparatus and Method for Providing Recoverability in Mass Storage Data Base Systems Without Audit Trail Mechanisms"; U.S. Pat. No. 5,384,829, Jan. 24, 1995, "Digital Computer Platform for Supporting Telephone Network Applications"; U.S. Pat. No. 5,323,450, Jun. 21, 1994, "Telephone Network Applications Platform for Supporting Facsimile Applications"; U.S. Pat. No. 5,494,606, Feb. 20, 1996, "Multi-Lingual Prompt Management System for a Network Applications Platform"; U.S. Pat. No. 5,633,916, May 27, 1997, "Universal Messaging Service Using Single Voice Grade Telephone Line Within a Client/Server Architecture"; U.S. patent application Ser. No. 08/944,924, filed Oct. 6, 1997, "Enhanced Multi-Lingual Prompt Management in a Voice Messaging System With Support for Speech Recognition"; U.S. patent application Ser. No. 08/964,744, filed Nov. 5, 1997, "Methods and Apparatus for Providing External Access to Executable Call Flows of a Network Application"; U.S. patent application Ser. No. 08/987,571, filed Dec. 11, 1997, "Multiple Language Electronic Mail Notification of Received Voice and/or Fax Messages"; and U.S. patent application Ser. No. 09/094026, filed on even date herewith, "System and Method for Integrating Notification Functions of Two Messaging Systems in a Universal Messaging Solution".